package com.huilian.tool.work.weixin.service;

import com.huilian.tool.work.weixin.dto.Order;

import java.util.List;

/**
 * 许可服务
 * @Author 少凡
 * @Date 2022-06-25 15:48
 * version 1.0
 */
public interface LicenseService {

    /**
     * 下单购买帐号
     *
     * @param corpid
     * @param redisKey
     * @return
     */
   String createNewOrder(String corpid, String redisKey);

    /**
     * 下单续期帐号
     * @param corpId
     * @param userId
     * @param type
     * @return
     */
    String createRenewOrderJob(String corpId,String userId, Integer type, String redisKey);

    /**
     * 获取订单列表
     * @param corpId
     * @return
     */
    String listOrder(String corpId, String redisKey);

    /**
     * 获取订单详情
     * @param orderId
     * @return
     */
    String getOrder(String orderId, String redisKey);

    /**
     * 获取订单中的帐号列表
     * @param orderId
     * @return
     */
    String listOrderAccount(String orderId, String redisKey);

    /**
     * 激活帐号
     * @param corpId
     * @param userId
     * @param activeCode
     * @return
     */
    String activeAccount(String corpId,String userId, String activeCode, String redisKey);

    /**
     * 获取激活码详情
     * @param corpId
     * @param activeCode
     * @return
     */
    String getActiveInfoByCode(String corpId, String activeCode, String redisKey);

    /**
     * 获取企业的帐号列表
     * @param corpId
     * @return
     */
    String listActiveAccount(String corpId, String redisKey);

    /**
     * 获取成员的激活详情
     * @param corpId
     * @param userId
     * @return
     */
    String getActiveInfoByUser(String corpId,String userId, String redisKey);

    String batchTransferLicense(String corpId,  List<Order.TransferList> transferList, String redisKey);
}
